"""
闭包的应用
    在旧的功能基础上添加新的功能，不能改变旧的功能
"""

# def old_func():
#     print('旧功能')
#
# def new_func():
#     print('新功能')
#
# # 新功能替换旧功能
# old_func = new_func
# # 只执行新功能
# old_func()

def old_func():
    print('旧功能')

def new_func(func):
    def wrapper():
        print('新')
        func()
    return wrapper

# old_func()
old_func = new_func(old_func)
old_func()